﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Mattress.Engine.Matlab {
    /// <summary>
    /// Enumerated value identifying class of array
    /// see more: http://www.mathworks.cn/help/techdoc/apiref/mxclassid.html
    /// </summary>
    public enum mxClassID {
        /// <summary>
        /// Undetermined class. You cannot specify this category for an mxArray; 
        /// however, if mxGetClassID cannot identify the class, it returns this value.
        /// </summary>
        mxUNKNOWN_CLASS,

        /// <summary>
        /// Identifies a cell mxArray.
        /// </summary>
        mxCELL_CLASS,

        /// <summary>
        /// Identifies a structure mxArray.
        /// </summary>
        mxSTRUCT_CLASS,

        /// <summary>
        /// Identifies a logical mxArray, an mxArray of mxLogical data.
        /// </summary>
        mxLOGICAL_CLASS,

        /// <summary>
        /// Identifies a string mxArray, an mxArray whose data is represented as mxChar.
        /// </summary>
        mxCHAR_CLASS,

        /// <summary>
        /// Reserved.
        /// </summary>
        mxVOID_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxDOUBLE_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxSINGLE_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxINT8_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxUINT8_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxINT16_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxUINT16_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxINT32_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxUINT32_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxINT64_CLASS,

        /// <summary>
        /// Identifies a numeric mxArray whose data is stored as the 
        /// type specified in the MATLAB Primitive Types table.
        /// </summary>
        mxUINT64_CLASS,

        /// <summary>
        /// Identifies a function handle mxArray.
        /// </summary>
        mxFUNCTION_CLASS
    };
}
